A software library (“a library”) is a software implementation of functionality that has a well-defined interface through which the provided functionality can be invoked. Application developers commonly utilize libraries in their applications so that they do not have to implement the functionality provided by the libraries themselves. For example, a library might be created that implements client-side functionality through which an application can access functionality provided by a remote storage service or another type of network service. An application developer might utilize such a library in an application in order to access the functionality provided by the remote storage service or other type of service without creating an implementation of his or her own.
One challenge associated with the use of software libraries stems from the fact that each time a library is updated, applications that utilize the library might also need to be updated. Additionally, in environments where applications that utilize software libraries are executed remotely, such as where applications are executed on server computers in a distributed computing environment, it might also be necessary to re-deploy the applications once they have been rebuilt to use an updated library. This process can be time-consuming and inconvenient for application developers and maintainers.
It is with respect to these and other considerations that the disclosure made herein is presented.